Function Initialize-ConfigManagerPlugin
{
    [CmdletBinding()]
    Param(
        [Parameter(Mandatory = $True)]
        [String]
        $private:ConfigName,
        
        [Parameter(Mandatory = $True)]
        [ScriptBlock]
        $private:DefaultConfigScriptBlock
    )
    
    Process
    {
        $private:ConfigXml = Get-ConfigXml $ConfigName $DefaultConfigScriptBlock
        If ($psISE -Ne $Null)
        {
            ForEach ($private:Tab in $psISE.PowerShellTabs)
            {
                Show-Menu $ConfigXml.ConfigManager.Menus $Tab.AddOnsMenu
            }
        }
        
        $private:SettingsScriptBlock = $ExecutionContext.InvokeCommand.NewScriptBlock($ConfigXml.ConfigManager.Settings)
        Invoke-Command $SettingsScriptBlock | Out-Null
    }
}

Export-ModuleMember Initialize-ConfigManagerPlugin
